home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 0769A.ZIP / LINES.C < prev    next >
Text File  |  1987-11-11  |  1KB  |  44 lines

  1. /*    Last revision: April    22, 1987 at 09:24  */
  2. /**************************************************************************/
  3. #include <extend.h>
  4.  
  5. #define LF        '\n'
  6. #define SOFT_LF  ('\n' | 0x80)
  7.  
  8. /*************************************************************
  9. * LINES()
  10. * Syntax: LINES( <expC> )   where expC is the memo field
  11. *
  12. * Return: The number of lines in the memo field.  Essentially,
  13. *         this routine counts up all soft line feeds and line feeds
  14. *
  15. * Note..: compile with Lattice >LC -ml -v -n LINES
  16. *
  17. */
  18.  
  19. LINES()
  20. {
  21.    unsigned char *_str_all();
  22.    unsigned char *str1;           /* string and a pointer into it */
  23.    int  linecount;
  24.  
  25.    if (PCOUNT >= 1 && ISCHAR(1)) {
  26.       str1 = _parc(1);
  27.  
  28.       if (strlen (str1) > 0)
  29.          linecount = 1;
  30.       else
  31.          linecount = 0;
  32.  
  33.       while (*str1)
  34.          {
  35.          if (*str1 == LF || *str1 == SOFT_LF )
  36.             linecount++;
  37.          str1++;
  38.          }
  39.       _retni (linecount);
  40.       }
  41.    else
  42.      _retni (-1);  /* error situation */
  43. }
  44.